//
// Created by hay boy on 2022/7/18.
//

#ifndef ALGORITHMS_BINARYTREE_H
#define ALGORITHMS_BINARYTREE_H
//#include "linkedBinaryTree.h"
//template<class T>
//class linkedBinaryTree;

template<class T>
class binaryTree {
public:
    virtual ~binaryTree()= default;
    virtual bool empty()const=0;
    virtual int size()const=0;
//    virtual void preOrder(void(linkedBinaryTree<T>::*)(T*))=0;
    virtual void preOrder(void(*)(T*))=0;
    virtual void inOrder(void(*)(T*))=0;
    virtual void postOrder(void(*)(T*))=0;
    virtual void levelOrder(void(*)(T*))=0;
};
#endif //ALGORITHMS_BINARYTREE_H
